﻿Imports BusinessLogicLayer
Imports BE = BusinessEntities
Imports System.Net.Mail

Partial Class Verificarcredito
    Inherits System.Web.UI.Page
    Public aprobar As Boolean
    Dim errores As String
    Dim mensaje As String
    
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then

            'Indicamos el total a pagar
            lblmonto.Text = Session("TotalReserva")

            'Instanciamos la clase 
            Dim carrito As New BE.CarritoBE
            'llenamos  las  propiedades
            carrito.codigo = Session("CARRITO")

            'Recuperamos datos básicos del cliente
            'Hacemos una referencia a la clase
            Dim capanegocios As New ClienteBL
            Dim cliente As New BE.ClienteBE
            'llenamos  las  propiedades
            cliente.codigo = Session("CLIENTE")

            Try
                'Invocamos al método BuscarCliente definido previamente en la clase
                lblnombre.Text = capanegocios.BuscarCliente(cliente).Tables("ElCliente").Rows(0).Item(1)
                lbldireccion.Text = capanegocios.BuscarCliente(cliente).Tables("ElCliente").Rows(0).Item(4)
                lblemail.Text = capanegocios.BuscarCliente(cliente).Tables("ElCliente").Rows(0).Item(3)
                lblreserva.Text = carrito.codigo
            Catch ex As Exception
                errores = capanegocios.ChapaError
                Response.Redirect("Errores.aspx?id=" & errores)
            Finally
                'Liberamos recursos
                capanegocios = Nothing
            End Try


        End If
    End Sub


    Protected Sub btncompletar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btncompletar.Click
        'Aprobamos el crédito. En la realidad el tema de aprobar
        'el crédito a un cliente pasaría por enviar a una entidad
        'bancaria los siguientes datos:
        ' i)El código o dirección URL de nuestro sitio web
        ' ii)El tipo de tarjeta de crédito del cliente 
        'iii)El código de la cuenta de esa tarjeta
        'iv)La fecha de expiración de esa tarjeta

        aprobar = True

        lblaprobacion.Text = "Reserva Aprobada"

        'Insertamos la información del carrito 
        'de compras a las tablas RESERVA y DETALLERESERVA

        'Hacemos una referencia a la clase
        Dim capanegociosReserva As New ReservaBL
        Dim reserva As New BE.ReservaBE

        reserva.codigo = Session("CARRITO")
        reserva.codigocliente = Session("CLIENTE")

        'Invocamos al método InsertarReserva definido previamente en la clase
        capanegociosReserva.InsertarReserva(reserva)

        'Hacemos una referencia a la clase
        Dim capanegociosCarrito As New CarritoBL

        'Recuperamos los elementos del carrito de compras
        'Invocamos al método ConsultarCarrito definido previamente en la clase

        Dim carrito As New BE.CarritoBE
        carrito.codigo = Session("CARRITO")

        Dim detalle As New BE.DetalleReservaBE
        detalle.codigo = Session("CARRITO")

        Dim i As Integer
        For i = 0 To capanegociosCarrito.ConsultarCarrito(carrito).Tables("ElCarrito").Rows.Count - 1


            detalle.codigoservicio = capanegociosCarrito.ConsultarCarrito(carrito).Tables("ElCarrito").Rows(i).Item(0)

            'Dim cantidadcomprada As New BE.CarritoBE
            detalle.cantidad = capanegociosCarrito.ConsultarCarrito(carrito).Tables("ElCarrito").Rows(i).Item(3)

            'Invocamos al método InsertarDetalleReserva definido previamente en la clase
            capanegociosReserva.InsertarDetalleReserva(detalle)  ', servicio, cantidadcomprada

        Next
        'Liberamos recursos
        'capanegocios = Nothing

        'Ahora procedemos a enviar un email de confirmación al cliente
        'con el detalle de la compra
        Dim nombrecliente As String
        Dim apellidocliente As String
        Dim direccioncliente As String
        Dim emailcliente As String
        Dim nombreservicio As String
        Dim precio As Double
        Dim cantidad As Double
        Dim subtotal As Double
        Dim TotalReserva As Double

        Dim capanegociosCliente As New ClienteBL
        'Recuperamos datos básicos del cliente
        Dim cliente As New BE.ClienteBE
        cliente.codigo = Session("CLIENTE")

        'Invocamos al método BuscarCliente definido previamente en la clase
        nombrecliente = capanegociosCliente.BuscarCliente(cliente).Tables("ElCliente").Rows(0).Item(1)
        apellidocliente = capanegociosCliente.BuscarCliente(cliente).Tables("ElCliente").Rows(0).Item(2)
        emailcliente = capanegociosCliente.BuscarCliente(cliente).Tables("ElCliente").Rows(0).Item(3)
        direccioncliente = capanegociosCliente.BuscarCliente(cliente).Tables("ElCliente").Rows(0).Item(4)

        Dim Email As New MailMessage
        Email.From = New MailAddress("reservas@aerojet.com.pe")
        Email.To.Add(New MailAddress(emailcliente))
        Email.Subject = "Confirmación de Reserva " & reserva.codigo
        Dim EmailCuerpo As String
        EmailCuerpo = ""
        EmailCuerpo &= "<html>"
        EmailCuerpo &= "<body>"
        EmailCuerpo &= "<center><span style=""font-size:14pt; font-weight:bold"">"
        EmailCuerpo &= "Aerojet"
        EmailCuerpo &= "</span><br>"
        EmailCuerpo &= "<span style=""font-size:14pt; font-weight:bold"">"
        EmailCuerpo &= "Confirmación de Reserva"
        EmailCuerpo &= "</span></center><br><br/>"
        EmailCuerpo &= "<b>Fecha</b>: " & Today & "<br/>"
        EmailCuerpo &= "<b>Orden No.</b>: " & reserva.codigo & "<br/>"
        EmailCuerpo &= "<br/>"
        EmailCuerpo &= "<b>Cliente</b>: " & nombrecliente & "  " & apellidocliente & "<br/>" 'revisar
        EmailCuerpo &= "<b>Dirección</b>: " & direccioncliente & "<br/>"
        EmailCuerpo &= "<p>"
        EmailCuerpo &= "Gracias por su reserva. Apreciamos su compra en "
        EmailCuerpo &= "Aerojet.com.pe Si tiene preguntas acerca de su "
        EmailCuerpo &= "reserva, por favor escríbanos a  "
        EmailCuerpo &= "<b>reservas@aerojet.com.pe</b>"
        EmailCuerpo &= " y referencie el número de la reserva listada arriba."
        EmailCuerpo &= "</p>"
        EmailCuerpo &= "<table border=1 cellpadding=3 style=""border-collapse:collapse"">"
        EmailCuerpo &= "<tr>"
        EmailCuerpo &= "	  <th bgcolor=gray>Código</th>"
        EmailCuerpo &= "	  <th bgcolor=gray>Título</th>"
        EmailCuerpo &= "	  <th bgcolor=gray>Cantidad</th>"
        EmailCuerpo &= "	  <th bgcolor=gray>Precio</th>"
        EmailCuerpo &= "	  <th bgcolor=gray>Subtotal</th>"
        EmailCuerpo &= "</tr>"

        'Ahora recuperamos la información del carrito de compras
        'Invocamos al método ConsultarCarrito definido previamente en la clase


        'Dim i As Integer
        For i = 0 To capanegociosCarrito.ConsultarCarrito(carrito).Tables("ElCarrito").Rows.Count - 1

            'carrito.codigo = capanegociosCarrito.ConsultarCarrito(carrito).Tables("ElCarrito").Rows(i).Item(0)
            nombreservicio = capanegociosCarrito.ConsultarCarrito(carrito).Tables("ElCarrito").Rows(i).Item(1)
            precio = capanegociosCarrito.ConsultarCarrito(carrito).Tables("ElCarrito").Rows(i).Item(2)
            cantidad = capanegociosCarrito.ConsultarCarrito(carrito).Tables("ElCarrito").Rows(i).Item(3)

            subtotal = cantidad * precio
            TotalReserva += subtotal
            EmailCuerpo &= "<tr>"
            EmailCuerpo &= "	<td>" & carrito.codigo & "</td>"
            EmailCuerpo &= "	<td>" & nombreservicio & "</td>"
            EmailCuerpo &= "	<td align=right>" & cantidad & "</td>"
            EmailCuerpo &= "	<td align=right>" & FormatNumber(precio, 2) & "</td>"
            EmailCuerpo &= "	<td align=right>" & FormatNumber(subtotal, 2) & "</td>"
            EmailCuerpo &= "</td></tr>"

        Next

        'Liberamos recursos 
        capanegociosCarrito = Nothing
        capanegociosReserva = Nothing
        capanegociosCliente = Nothing

        EmailCuerpo &= "<tr>"
        EmailCuerpo &= "  <td colspan=4 align=right><b>Total Reserva</b></td>"
        EmailCuerpo &= "  <td align=right>" & FormatCurrency(TotalReserva) & "</td>"
        EmailCuerpo &= "</tr>"
        EmailCuerpo &= "</table>"
        EmailCuerpo &= "</body>"
        EmailCuerpo &= "</html>"

        Email.Body = EmailCuerpo
        'Definimos el formato del mensaje
        Email.IsBodyHtml = True
        Dim clientesmtp As New SmtpClient("127.0.0.1")
        'Por último enviamos el email
        'clientesmtp.Send(Email)
        'Liberamos recursos
        Email = Nothing
        'Redirigimos al cliente a la página ordenventa.aspx
        Response.Redirect("ReservaVenta.aspx")
    End Sub

    Protected Sub btnretornar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnretornar.Click
        Response.Redirect("Carrito.aspx")
    End Sub
End Class
